Author |
Message |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Mon Dec 27, 2004 7:17 pm ()
Post subject: Создание сайта
|
|
Привет. Честно говоря, я первый раз вижу PHP, по-этому вопрос задаю скорее философский :) Всю жизнь занимался разработкой приложений баз данных, системным программированием и прочей скучной лабудой. А сейчас вот решил сделать сайтик. В HTML разобраться оказалось не сложно, налепил кучу страничек, подцепил таблицу стилей, всё здорово, работает, всё красиво - ходил довольный целый день. А на следующий день зашел к А. Лебедеву и понял что сайт - га#но :( Всё переделал, дезигн паменял, пришлось делать copy-paste раз 50, чтобы изменить все странички. Ну ещё пару дней довольным походил и решил ещё что-то переделать - опять 50 раз copy-paste! вобщим надоело. Хотелось бы всетаки сделать так, чтобы контент был отделен от оформления и чтобы измение оформления в одном месте отражалось на всех страничках где я этого хочу. В каком виде хранить контент пока не решил, может в txt, может в xml - может посоветуете. Тока вот как это реализовывается - понятия не имею. Вобщим вопрос: как начать? Поставить апач - не предлагайте, уже поставил "денвер" ;) и вот с этого момента пожалуйста поподробнее. как сделать (покажите пример если не трудно), чтобы была страничка, пара ссылок на ней, и чтобы когда кликаеш на ссылку показывалось бы одно ("хэлоу ворлд" например), кликаеш на другую - другое (хатябы "гудбай ворлд") но тока штоб оформление одно и то же оставалось.
|
|
Back to top |
|
 |
Rumata
Профессионал

Joined: 17 Aug 2003
Posts: 1850
Карма: 185 поощрить/наказать
|
Posted: Mon Dec 27, 2004 7:51 pm (спустя 33 минуты; написано за 7 секунд)
Post subject:
|
|
самый простой способ и не самый лучший способ файл hello.phpфайл goodbye.phpа уж в этих файлах _header.php и _footer.php "нарисовать" дизайн - верхнюю и нижнюю часть всех страниц способ посложнее - использовать различного рода "шаблонизаторы"
|
|
Back to top |
|
 |
Navigator
Участник форума
Joined: 27 Nov 2004
Posts: 221
Карма: -12 поощрить/наказать
Location: Павловский Посад
|
Posted: Mon Dec 27, 2004 7:56 pm (спустя 5 минут; написано за 1 минуту 33 секунды)
Post subject:
|
|
Использовать подключение заголовка, навигации, футера и проч. из отдельных файлов. Информацию хранить в БД MySQL. С движком могу помочь (ICQ 5713402 или navigator1992@mail.ru) ;)
|
|
Back to top |
|
 |
Евгений Галашин
Модератор

Joined: 29 Dec 2003
Posts: 1861
Карма: 32 поощрить/наказать
|
Posted: Mon Dec 27, 2004 8:04 pm (спустя 7 минут; написано за 1 минуту 39 секунд)
Post subject:
|
|
DarkCat:
Купите книгу Д. Котерова PHP 5 или Самоучитель PHP 4. Если Вы и правда DarkCat wrote: |
Всю жизнь занимался разработкой приложений баз данных, системным программированием и прочей скучной лабудой. | то PHP Вам освоить -- как два байта.
|
|
Back to top |
|
 |
Navigator
Участник форума
Joined: 27 Nov 2004
Posts: 221
Карма: -12 поощрить/наказать
Location: Павловский Посад
|
Posted: Mon Dec 27, 2004 8:05 pm (спустя 1 минуту 44 секунды; написано за 7 секунд)
Post subject:
|
|
Золотые слова ;)
|
|
Back to top |
|
 |
Педагог
Участник форума
Joined: 06 May 2003
Posts: 131
Карма: 3 поощрить/наказать
Location: Ростов-на-Дону
|
Posted: Tue Dec 28, 2004 8:33 am (спустя 12 часов 27 минут; написано за 6 минут 11 секунд)
Post subject:
|
|
Я использую упрощенные шаблоны Code (php): | скопировать код в буфер обмена | файл-данных hello.php <? $BODY[text]='Hello World!'; $BODY[menu]='<a href=hello.php>хелло</a><br><a href=bye.php>гудбай</a>'; require("main.sketch.php"); ?>
файл-данных bye.php <? $BODY[text]='Goodbye World!'; $BODY[menu]='<a href=hello.php>хелло</a><br><a href=bye.php>гудбай</a>'; require("main.sketch.php"); ?>
файл-шаблон main.sketch.php <html> <body> <table border=1><tr> <td><?=$BODY[menu]?></td> <td><?=$BODY[text]?></td> </tr></table> </body> </html> |
|
|
Back to top |
|
 |
Евгений Бондарев
Модератор

Joined: 10 Mar 2003
Posts: 723
Карма: 16 поощрить/наказать
Location: Харьков/Киев, Украина
|
Posted: Tue Dec 28, 2004 10:31 am (спустя 1 час 57 минут; написано за 1 минуту 15 секунд)
Post subject:
|
|
Педагог:
Оно новичку надо? Зачем сразу сложное? В школе Вас сначала в столбик складывать учили или учитель сразу сказал, что он использует интегралы?
|
|
Back to top |
|
 |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Tue Dec 28, 2004 11:48 am (спустя 1 час 17 минут; написано за 22 секунды)
Post subject:
|
|
Всем спасибо за ответы. Очень интересный пример от Педагога, тока вот что меня смущает: Quote: |
$BODY[text]='Hello World!'; $BODY[menu]='<a href=hello.php>хелло</a><br><a href=bye.php>гудбай</a>'; | как это панимать? это две переменные типа String? - судя по их значениям или это два массива? - судя по квадратным скобкам или один массив, но не индексированый? - судя по тому что называются они одинаково как тогда понимать то что в скобочках - [text] и [menu]? там вроди как цифорки должны быть [0] и [1] :-/ извините если какую глупость сказал ;)
Но вобщим нисмотря ни на что, как работает - понятно. Теперь вот ещё что: Хотелось бы менюшку не хранить в каждом файле с данными, а сделать одну на несколько страничек, положить гденибуть отдельным файлом и чтобы она всюду вставлялась. И тут такая проблема возникает: как передать ей параметр, указывающий какой из разделов меню подсветить как "активный"?
|
|
Back to top |
|
 |
Rumata
Профессионал

Joined: 17 Aug 2003
Posts: 1850
Карма: 185 поощрить/наказать
|
Posted: Tue Dec 28, 2004 12:02 pm (спустя 13 минут; написано за 7 минут 50 секунд)
Post subject:
|
|
ассоциативный массив в обычных ЯВУ (типа Паскаля) массив это сложная структура, в которой все элементы имеют одинаковое имя, но обращение к ним можно осуществить по индексу например, массив А[1..10] содержит десять элементов A[1], A[2], ... A[10] ассоциативный массив, это такой же массив, в котором к элементам можно обратиться по ключу. ключ в данном случае - строка например, массив B["item1", "itemX", "item2"] содержит три элемента B["item1"], B["itemX"], B["item2"] в итоге: А[] - индексированный массив B[] - ассоциативный массив в общем случае, индексированный массив (который иногда называют список) - это частный случай ассоциативного массива, в котором ключами являются целый числа - индексы
|
|
Back to top |
|
 |
Rumata
Профессионал

Joined: 17 Aug 2003
Posts: 1850
Карма: 185 поощрить/наказать
|
Posted: Tue Dec 28, 2004 12:05 pm (спустя 2 минуты; написано за 1 минуту 50 секунд)
Post subject:
|
|
в описании Педагога есть неточность - ему следовало писать $BODY["menu"] $BODY["text"] PHP - язык интерпретирующий и позволяет создавать массивы и элементы массивов "на лету"
|
|
Back to top |
|
 |
Педагог
Участник форума
Joined: 06 May 2003
Posts: 131
Карма: 3 поощрить/наказать
Location: Ростов-на-Дону
|
Posted: Wed Dec 29, 2004 10:02 am (спустя 21 час 57 минут; написано за 19 минут 29 секунд)
Post subject:
|
|
DarkCat wrote: |
как это панимать? | Ну Rumata вам объяснил, что такое ассоциативный массив. Хочу заметить только, что можно писать как $BODY[menu], так и $BODY['menu']. Все данные, которые вывожу в шаблоне, храню в массиве $BODY (ну еще у меня есть $HEAD, которая выводит между <head>...</head>). Просто там имхо удобней, чтобы случайно дважды не задействовать не по назначению переменные $menu и $text. Насчет меню. Это уже урок#2 от Педагога: Code (php): | скопировать код в буфер обмена | span class="coMULTI">/*
// $BODY[menu]='<a href=hello.php></a><br><a href=bye.php></a>'; $scriptName=preg_replace (www.php.net/preg_replace)('{.*/([^/]+$)}si','\\1',$REQUEST_URI); $BODY[menu]=preg_replace (www.php.net/preg_replace)('{<a\s[^<>]*'.$scriptName.'[^<>]*>.*?</a>}si','<b>\\0</b>'"define.ini.php"); $BODY[text]='Hello World!'; require("main.sketch.php""define.ini.php"); $BODY[text]='Goodbye World!'; require("main.sketch.php" | В переменной $REQUEST_URI будет находиться строка с названием вызванного скрипта ('/hello.php' или '/bye.php'). Другие "системные переменные" можно постмотреть, если вставить в шаблон следующую строку <?=phpinfo()?>
|
|
Back to top |
|
 |
Евгений Галашин
Модератор

Joined: 29 Dec 2003
Posts: 1861
Карма: 32 поощрить/наказать
|
Posted: Wed Dec 29, 2004 1:51 pm (спустя 3 часа 48 минут; написано за 42 секунды)
Post subject:
|
|
Педагог wrote: |
что можно писать как $BODY[menu], | нельзя. Этот синтаксис давно устрарел и выводит нотисы.
|
|
Back to top |
|
 |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Wed Dec 29, 2004 3:41 pm (спустя 1 час 50 минут; написано за 18 секунд)
Post subject:
|
|
Вобщем всем спасибо, очень помогли. Если хотите могу показать что получилось: lisoft.ru
(моя вторая поделка в качестве веб-мастера и первая на PHP) Конструктивная критика только приветствуется :)
Last edited by DarkCat on Wed Dec 29, 2004 10:04 pm; edited 1 time in total
|
|
Back to top |
|
 |
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9986 поощрить/наказать
|
Posted: Wed Dec 29, 2004 4:44 pm (спустя 1 час 2 минуты; написано за 1 минуту 19 секунд)
Post subject:
|
|
DarkCat wrote: |
Конструктивная критика тлько приветствуется | Чё-то грузится "неприлично долго": пять минут прождал -- надоело, так и не дождался...
|
|
Back to top |
|
 |
Duchal Alexander
Участник форума

Joined: 05 Apr 2004
Posts: 571
Карма: 40 поощрить/наказать
Location: Симферополь, Украина
|
Posted: Wed Dec 29, 2004 4:57 pm (спустя 12 минут; написано за 32 секунды)
Post subject:
|
|
baev wrote: |
Чё-то грузится "неприлично долго": пять минут прождал -- надоело, так и не дождался... | Не знаю, у меня загрузился быстро, даже "Непрелично быстро", быстрее моего "творения".
|
|
Back to top |
|
 |
Константин Жинько [tIT]
Сотрудник «Лаборатории»

Joined: 12 Jun 2004
Posts: 2264
Карма: 106 поощрить/наказать
Location: Москва
|
Posted: Wed Dec 29, 2004 6:29 pm (спустя 1 час 31 минуту; написано за 2 минуты 20 секунд)
Post subject:
|
|
Евгений Бондарев wrote: |
В школе Вас сначала в столбик складывать учили или учитель сразу сказал, что он использует интегралы? | Если бы мне это сразу объяснили, я бы сейчас аспирантуру заканчивал, а не 11-й класс (-; А так сколько времени впустую! С другой стороны от программы "Hello, world!" испытываешь эйфорию, как это ни странно.
|
|
Back to top |
|
 |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Wed Dec 29, 2004 10:01 pm (спустя 3 часа 31 минуту; написано за 36 секунд)
Post subject:
|
|
Duchal Alexander wrote: |
baev wrote: |
Чё-то грузится "неприлично долго": пять минут прождал -- надоело, так и не дождался... | Не знаю, у меня загрузился быстро, даже "Непрелично быстро", быстрее моего "творения". | да, я тоже проблем со скоростью не замечал :-/
|
|
Back to top |
|
 |
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9986 поощрить/наказать
|
Posted: Wed Dec 29, 2004 11:21 pm (спустя 1 час 20 минут; написано за 1 минуту 36 секунд)
Post subject:
|
|
baev wrote: |
Чё-то грузится "неприлично долго": | Да, видимо, был некий "временный глюк" -- сейчас всё сразу загрузилось. (Смотрел сайт, смотрел, что такое "партионная" так и не понял...)
|
|
Back to top |
|
 |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Thu Dec 30, 2004 11:15 am (спустя 11 часов 54 минуты; написано за 1 минуту 51 секунду)
Post subject:
|
|
baev wrote: |
(Смотрел сайт, смотрел, что такое "партионная" так и не понял...) | :)) Заниаюсь почтовыми технологиями уже почти два года, но о смысле этого слова никогда не задумывался
|
|
Back to top |
|
 |
Сергей доктор
Участник форума

Joined: 08 Mar 2004
Posts: 208
Карма: 2 поощрить/наказать
Location: Глухая провинция у моря.
|
Posted: Wed Jan 05, 2005 1:27 pm (спустя 6 дней 2 часа 11 минут; написано за 13 минут 23 секунды)
Post subject:
|
|
>Насчет меню. Это уже урок#2 от Педагога : и так далее... А я взял и упретал весь контент в базу mysql. Иключительно удобно: контентом можно оперировать как угодно, организавать поиск, "выборку", несложно. А держать контент в файлах какой смысл? Вернее смысл есть в одном единственном случаи: если у Вас дизайном занимается отдельный человек для которого веб программирование страшный сон. Ну, а если все делаешь сам, то исключительно удобно взять (спереть два, три, красивых шаблончика а контент выводить через строку запроса из базы mysql. Что бы другие не догадались, какой Вы на самом деле ленивый, можно и ссылки преобразовать с помошью mod_rewrite или другим, более понятным способом. Впрочем, в уроке Педагога что то есть, пока правда не пойму что именно Интуиция подсказывает что то есть Может вкратце Педагог прояснит в чем суть идеи?
|
|
Back to top |
|
 |
Сергей доктор
Участник форума

Joined: 08 Mar 2004
Posts: 208
Карма: 2 поощрить/наказать
Location: Глухая провинция у моря.
|
Posted: Wed Jan 05, 2005 1:55 pm (спустя 28 минут; написано за 8 минут 34 секунды)
Post subject:
|
|
Code (php): | скопировать код в буфер обмена | <? /* //Плохой (из за того, что меню описывается несколько! раз и в случае изменения меню надо будет в // //нескольких местах производить корректирующие действия), но понятный вариант: if ($REQUEST_URI=='/hello.php') $BODY[menu]='<a href=hello.php><b>хелло</b></a><br><a href=bye.php>гудбай</a>'; elseif ($REQUEST_URI=='/bye.php') $BODY[menu]='<a href=hello.php>хелло</a><br><a href=bye.php><b>гудбай</b></a>'; | Да вот, вдогонку, не совсем ясна идея с использованием "регулярных выражений" К примеру у меня меню сделана просто в отдельном файле, а подключается она вот так: Code (php): | скопировать код в буфер обмена | <? $htm = join (www.php.net/join) ('' , file (www.php.net/file)("menu_p.html")); echo (www.php.net/echo) $htm; ?> | ТОесть, сделан, определенный "аналог" SSI В чем преемущество Вашего способа, не пойму. Такой вариант наверно оправдан, когда мы хотим каким о образом "преукрасить" посещенные ссылки меню и это недоступно нам через CSS в 'обычном' варианте.
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 413 поощрить/наказать
|
Posted: Wed Jan 05, 2005 6:14 pm (спустя 4 часа 18 минут; написано за 1 минуту 1 секунду)
Post subject:
|
|
Сергей доктор wrote: |
А я взял и упретал весь контент в базу mysql. Иключительно удобно: контентом можно оперировать как угодно, организавать поиск, "выборку", несложно. | С одной стороны - да. А с другой - сильно усложняется импорт-экспорт данных. Например, если Вы разрабатываете сайт на локальной машине, а потом заливаете его к хостеру (для чего Денвер и предназначен, кстати), с СУБД будут проблемы: не так-то легко из нее изменения выгрузить, а потом их загрузить на сайт.
|
|
Back to top |
|
 |
Сергей доктор
Участник форума

Joined: 08 Mar 2004
Posts: 208
Карма: 2 поощрить/наказать
Location: Глухая провинция у моря.
|
Posted: Wed Jan 05, 2005 7:09 pm (спустя 54 минуты; написано за 5 минут 33 секунды)
Post subject:
|
|
>С одной стороны - да. А с другой - сильно усложняется импорт-экспорт данных. Например, если Вы >разрабатываете сайт на локальной машине, а потом заливаете его к хостеру (для чего Денвер и >предназначен, кстати), с СУБД будут проблемы: не так-то легко из нее изменения выгрузить, а потом >их загрузить на сайт С экспортом (c денвера на хостинг) у меня проблем пока не было. Использовал три способа (через командную строку, dumper и myphpadmin) После долгих экспериментов остановился..на myphpadmine Импортом, (с хостинга в в денвер) не так часто приходится заниматься, разве что "бекапить" всю базу целиком для переноса на другой хостинг..
|
|
Back to top |
|
 |
Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665
Карма: 413 поощрить/наказать
|
Posted: Wed Jan 05, 2005 7:59 pm (спустя 50 минут; написано за 35 секунд)
Post subject:
|
|
А если контента на 20 МБ? Тоже будете полный экспорт делать? М |
| P.S. Кнопку "Цитировать" никто не отменял, между прочим. ;-) |
|
|
Back to top |
|
 |
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9986 поощрить/наказать
|
Posted: Wed Jan 05, 2005 9:29 pm (спустя 1 час 29 минут; написано за 2 минуты 24 секунды)
Post subject:
|
|
Дмитрий Котеров wrote: |
А если контента на 20 МБ? Тоже будете полный экспорт делать? | Ну, лично я так и делаю -- только через шелл (mysqldump) и со сжатием, конечно. (На одном из сайтов вся база больше 70Мб, в архиве получается около 13Мб.)
|
|
Back to top |
|
 |
DarkCat
Заглянувший

Joined: 27 Dec 2004
Posts: 11
Карма: -4 поощрить/наказать
|
Posted: Fri Jan 14, 2005 11:39 am (спустя 8 дней 14 часов 10 минут; написано за 2 минуты 27 секунд)
Post subject:
|
|
все-таки я в восторге от PHP Переделал один шаблон и полностью изменил дизайн всего сайта, если хотите, порадуйтесь за меня :)) lisoft.ru/index.php
|
|
Back to top |
|
 |
Solid
Заглянувший
Joined: 17 Feb 2005
Posts: 3
Карма: 0 поощрить/наказать
|
Posted: Fri Feb 18, 2005 5:30 am (спустя 1 месяц 3 дня 17 часов 50 минут)
Post subject:
|
|
Quote: |
Code (php): | скопировать код в буфер обмена | span class="coMULTI">/*
// $BODY[menu]='<a href=hello.php></a><br><a href=bye.php></a>'; $scriptName=preg_replace (www.php.net/preg_replace)('{.*/([^/]+$)}si','\\1',$REQUEST_URI); $BODY[menu]=preg_replace (www.php.net/preg_replace)('{<a\s[^<>]*'.$scriptName.'[^<>]*>.*?</a>}si','<b>\\0</b>'"define.ini.php"); $BODY[text]='Hello World!'; require("main.sketch.php""define.ini.php"); $BODY[text]='Goodbye World!'; require("main.sketch.php" | В переменной $REQUEST_URI будет находиться строка с названием вызванного скрипта ('/hello.php' или '/bye.php'). Другие "системные переменные" можно постмотреть, если вставить в шаблон следующую строку <?=phpinfo()?> | простите что вклиниваюсь в разговор специалистов но как я понял надо создать define.ini.php (незнаю к чему относится) hello.php (незнаю к чему относится) bye.php (незнаю к чему относится...может меню?) main.sketch.php (это получается главная страница сайта?) куда и как всё вставить в таблицы...или таблицы тут вобще не используются...
|
|
Back to top |
|
 |
Ka3ax
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Nov 14, 2006 12:22 am (спустя 1 год 8 месяцев 23 дня 18 часов 51 минуту; написано за 16 минут 25 секунд)
Post subject:
|
|
Сергей доктор wrote: |
> можно и ссылки преобразовать с помошью mod_rewrite или другим, более понятным способом | можно в двух словах о преобразовании на примере. хочется ссылки на файлы (rar, ipg..) переводить на html, что бы страница предосмотра генерировалась читал, и здесь (www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html) , по отдельности все понятно, а как собрать, что бы все функционировало , не получается. пару примеров рабочих,хоть поторогать как оно.
|
|
Back to top |
|
 |
Veweb
Заглянувший
Joined: 07 Jan 2017
Posts: 6
Карма: 0 поощрить/наказать
Location: Россия
|
Posted: Sat Jan 07, 2017 11:18 am (спустя 10 лет 1 месяц 23 дня 10 часов 56 минут; написано за 1 минуту 34 секунды)
Post subject:
|
|
Очень много всего сказано о создании сайта здесь: world-of-web.ru/category/sozdanie-sayta-sozdanie-sayta/
Кстате, там же и много ресурсов для сайта :)
|
|
Back to top |
|
 |
|